Math ক্লাস হল Java.lang প্যাকেজের একটি গুরুত্বপূর্ণ অংশ, যা গাণিতিক ফাংশন এবং কনস্ট্যান্টের জন্য প্রিভাইড করা হয়েছে। এটি শুধুমাত্র গাণিতিক অপারেশনের জন্য ব্যবহার করা হয়, যেমন ট্রিগনোমেট্রিক অপারেশন, লগারিদমিক অপারেশন, বর্গমূল, এবং অন্যান্য গাণিতিক হিসাব। Math ক্লাসের সব মেথড static হওয়ায়, এগুলি কোনো অবজেক্ট তৈরি না করেই সরাসরি ক্লাস নামের মাধ্যমে ব্যবহার করা যায়।
Math ক্লাসের কিছু প্রধান মেথড:
abs():- এটি একটি সংখ্যার absolute value (সর্বোচ্চ মান) রিটার্ন করে।
সিনট্যাক্স:
public static int abs(int a) public static double abs(double a)Example:
public class MathExample { public static void main(String[] args) { System.out.println(Math.abs(-5)); // Output: 5 System.out.println(Math.abs(-5.7)); // Output: 5.7 } }sqrt():- এটি একটি সংখ্যার বর্গমূল (square root) রিটার্ন করে।
সিনট্যাক্স:
public static double sqrt(double a)Example:
public class MathExample { public static void main(String[] args) { System.out.println(Math.sqrt(16)); // Output: 4.0 System.out.println(Math.sqrt(25)); // Output: 5.0 } }pow():- এটি একটি সংখ্যা এবং তার ঘাত (exponent) নেয় এবং সংখ্যাটি ঘাতে উত্তোলিত হয়।
সিনট্যাক্স:
public static double pow(double a, double b)Example:
public class MathExample { public static void main(String[] args) { System.out.println(Math.pow(2, 3)); // Output: 8.0 (2 raised to the power of 3) } }max():- এটি দুটি সংখ্যার মধ্যে বৃহত্তম মান রিটার্ন করে।
সিনট্যাক্স:
public static int max(int a, int b) public static double max(double a, double b)Example:
public class MathExample { public static void main(String[] args) { System.out.println(Math.max(3, 7)); // Output: 7 System.out.println(Math.max(4.5, 3.2)); // Output: 4.5 } }min():- এটি দুটি সংখ্যার মধ্যে ক্ষুদ্রতম মান রিটার্ন করে।
সিনট্যাক্স:
public static int min(int a, int b) public static double min(double a, double b)Example:
public class MathExample { public static void main(String[] args) { System.out.println(Math.min(3, 7)); // Output: 3 System.out.println(Math.min(4.5, 3.2)); // Output: 3.2 } }random():- এটি একটি random সংখ্যা রিটার্ন করে যা 0 (inclusive) থেকে 1 (exclusive) এর মধ্যে থাকে।
সিনট্যাক্স:
public static double random()Example:
public class MathExample { public static void main(String[] args) { System.out.println(Math.random()); // Output: A random number between 0.0 and 1.0 } }round():- এটি একটি ফ্লোট অথবা ডাবল ভ্যালুর কাছে সবচেয়ে কাছের পূর্ণসংখ্যায় রাউন্ড করে।
সিনট্যাক্স:
public static long round(float a) public static long round(double a)Example:
public class MathExample { public static void main(String[] args) { System.out.println(Math.round(5.6)); // Output: 6 System.out.println(Math.round(5.3)); // Output: 5 } }floor():- এটি একটি সংখ্যাকে নীচের পূর্ণসংখ্যায় (lower integer) রাউন্ড করে।
সিনট্যাক্স:
public static double floor(double a)Example:
public class MathExample { public static void main(String[] args) { System.out.println(Math.floor(5.7)); // Output: 5.0 System.out.println(Math.floor(5.3)); // Output: 5.0 } }ceil():- এটি একটি সংখ্যাকে উপরের পূর্ণসংখ্যায় (higher integer) রাউন্ড করে।
সিনট্যাক্স:
public static double ceil(double a)Example:
public class MathExample { public static void main(String[] args) { System.out.println(Math.ceil(5.3)); // Output: 6.0 System.out.println(Math.ceil(5.7)); // Output: 6.0 } }
Math ক্লাসের কনস্ট্যান্টস:
PI: π এর মান (3.14159...)।
System.out.println(Math.PI); // Output: 3.141592653589793E: সিলিন্ড্রিক্যাল লোগারিদমের জন্য একটি প্রাকৃতিক ধ্রুবক (2.71828...)।
System.out.println(Math.E); // Output: 2.718281828459045
Math ক্লাস Java-র একটি অত্যন্ত গুরুত্বপূর্ণ অংশ, যা গাণিতিক অপারেশনের জন্য ব্যবহৃত হয়। এটি বিভিন্ন ধরনের ফাংশনালিটি যেমন, ট্রিগনোমেট্রিক ফাংশন, বর্গমূল, লগারিদম, রাউন্ডিং, এবং র্যান্ডম নাম্বার জেনারেট করার মতো ফাংশন প্রদান করে। এই ক্লাসটি static হওয়ায়, একে কোনো অবজেক্ট তৈরি না করেও সরাসরি ব্যবহার করা যায়। Java-তে গাণিতিক অ্যাপ্লিকেশন তৈরি করার জন্য এটি একটি গুরুত্বপূর্ণ টুল।
Math ক্লাস হল Java এর java.lang প্যাকেজের একটি গুরুত্বপূর্ণ ক্লাস যা গণনা সম্পর্কিত বিভিন্ন ফাংশন এবং কনস্ট্যান্ট প্রদান করে। এটি মূলত গাণিতিক অপারেশন (যেমন, গাণিতিক ফাংশন, রাউন্ডিং, মেক্সিমাম, মিনিমাম, পাওয়ার, স্কয়ার রুট ইত্যাদি) সম্পাদন করতে ব্যবহৃত হয়। Math ক্লাসটি static ক্লাস, অর্থাৎ আপনাকে এটি ব্যবহার করতে কোনও অবজেক্ট তৈরি করতে হয় না, সরাসরি ক্লাসের নাম থেকে মেথড কল করা যায়।
Math ক্লাসটি java.lang প্যাকেজের অংশ এবং এটি এমন কিছু গাণিতিক অপারেশন এবং কনস্ট্যান্ট সরবরাহ করে যা সাধারণত প্রতিটি Java অ্যাপ্লিকেশনের জন্য প্রয়োজনীয় হতে পারে।
Math ক্লাসের প্রধান বৈশিষ্ট্য:
গণিতীয় কনস্ট্যান্ট:
- PI: π এর মান।
- E: প্রাকৃতিক লগারিদমের বেস (Euler's number)।
উদাহরণ:
public class MathConstants { public static void main(String[] args) { System.out.println("PI: " + Math.PI); // Output: PI: 3.141592653589793 System.out.println("Euler's number (E): " + Math.E); // Output: Euler's number (E): 2.718281828459045 } }গণিতীয় অপারেশন:
- abs(): একটি সংখ্যা (ইন্টিজার, ডাবল, ফ্লোট, লং) এর অ্যাবসুলুট মান।
- max(): দুটি মানের মধ্যে বৃহত্তম মান।
- min(): দুটি মানের মধ্যে ক্ষুদ্রতম মান।
- pow(): একটি সংখ্যা কত পাওয়ারে উত্তীর্ণ হতে হবে (exponentiation)।
- sqrt(): একটি সংখ্যা এর স্কয়ার রুট বের করা।
উদাহরণ:
public class MathOperations { public static void main(String[] args) { System.out.println("Absolute Value: " + Math.abs(-10)); // Output: Absolute Value: 10 System.out.println("Max of 10 and 20: " + Math.max(10, 20)); // Output: Max of 10 and 20: 20 System.out.println("Min of 10 and 20: " + Math.min(10, 20)); // Output: Min of 10 and 20: 10 System.out.println("Power of 2^3: " + Math.pow(2, 3)); // Output: Power of 2^3: 8.0 System.out.println("Square root of 16: " + Math.sqrt(16)); // Output: Square root of 16: 4.0 } }ট্রিগনোমেট্রিক ফাংশন:
Mathক্লাসটি বিভিন্ন ট্রিগনোমেট্রিক ফাংশনও সরবরাহ করে যেমন:- sin(): সাইন ফাংশন।
- cos(): কসম ফাংশন।
- tan(): ট্যানজেন্ট ফাংশন।
- asin(), acos(), atan(): সাইন, কসম এবং ট্যানজেন্টের ইনভার্স।
উদাহরণ:
public class Trigonometry { public static void main(String[] args) { double angle = Math.PI / 4; // 45 degrees in radians System.out.println("Sin(45 degrees): " + Math.sin(angle)); // Output: Sin(45 degrees): 0.7071067811865475 System.out.println("Cos(45 degrees): " + Math.cos(angle)); // Output: Cos(45 degrees): 0.7071067811865476 } }র্যান্ডম নাম্বার জেনারেশন:
- random(): একটি র্যান্ডম ডাবল মান ০ (শূন্য) এবং ১ (এক) এর মধ্যে প্রদান করে।
উদাহরণ:
public class RandomNumber { public static void main(String[] args) { System.out.println("Random Number: " + Math.random()); // Output: Random Number: 0.5782583259574775 } }রাউন্ডিং এবং ঘূর্ণন (Rounding and Rounding Functions):
Mathক্লাসটি কিছু রাউন্ডিং ফাংশনও প্রদান করে:- round(): ডাবল বা ফ্লোট মানকে নিকটতম পুরো সংখ্যায় রাউন্ড করে।
- ceil(): ডাবল বা ফ্লোট মানকে বড় পূর্ণসংখ্যায় রাউন্ড করে।
- floor(): ডাবল বা ফ্লোট মানকে ছোট পূর্ণসংখ্যায় রাউন্ড করে।
উদাহরণ:
public class RoundingExample { public static void main(String[] args) { double num = 5.67; System.out.println("Round: " + Math.round(num)); // Output: Round: 6 System.out.println("Ceil: " + Math.ceil(num)); // Output: Ceil: 6.0 System.out.println("Floor: " + Math.floor(num)); // Output: Floor: 5.0 } }
Math ক্লাসের গুরুত্ব:
- গাণিতিক অপারেশন সহজে সম্পাদন করা:
Mathক্লাস Java প্রোগ্রামে বিভিন্ন গাণিতিক অপারেশন যেমন অ্যাবসোলিউট মান, পাউয়ার, স্কয়ার রুট, ট্রিগনোমেট্রিক ফাংশন ইত্যাদি সহজভাবে করতে সহায়তা করে। - উচ্চ কর্মক্ষমতা: Math ক্লাসের ফাংশনগুলো প্রয়োজনীয় গণনা দ্রুত এবং দক্ষভাবে সম্পাদন করতে সহায়তা করে, বিশেষত যখন এই ফাংশনগুলির জন্য স্বতন্ত্র লাইব্রেরি ব্যবহার করা যায় না।
- র্যান্ডম নাম্বার জেনারেশন: বিভিন্ন ধরণের র্যান্ডম নাম্বার জেনারেশন জন্য
Math.random()সহজ ও কার্যকরী সমাধান প্রদান করে। - প্রস্তুত করা জন্য স্ট্যান্ডার্ড: স্ট্রিং, ইন্টিজার, ডাবল বা অন্যান্য ডেটা টাইপের সাথে গণনা বা কনভার্সনের জন্য গাণিতিক রূপান্তরগুলির জন্য
Mathএকটি স্ট্যান্ডার্ড সমাধান সরবরাহ করে। - অটোমেটিক গণনা: প্রতিটি গণনা সহজেই এবং ত্রুটি মুক্তভাবে পরিচালনা করার জন্য
Mathফাংশনগুলো সাহায্য করে। যেমন, সাইন, কসম, পাউয়ার গণনা করা বা কাস্টম রাউন্ডিং প্রক্রিয়া ইত্যাদি।
Math ক্লাস হল java.lang প্যাকেজের একটি অত্যন্ত গুরুত্বপূর্ণ এবং অপরিহার্য অংশ, যা Java প্রোগ্রামিংয়ের মধ্যে গণিত ও গাণিতিক অপারেশনের কাজকে সহজ, দক্ষ এবং নির্ভরযোগ্য করে তোলে। এর মধ্যে থাকা ফাংশনগুলো এবং কনস্ট্যান্টগুলি Java প্রোগ্রামিংয়ে দৈনিক কাজের জন্য অপরিহার্য এবং এটি গাণিতিক অ্যালগরিদম তৈরিতে সাহায্য করে।
Java.lang প্যাকেজ এ অনেক গুরুত্বপূর্ণ ক্লাস রয়েছে, যেগুলির মাধ্যমে গণনা, অ্যাপ্লিকেশন উন্নয়ন এবং সিস্টেম সম্পর্কিত কাজগুলো সহজ করা হয়। কিছু সাধারণ Math ক্লাসের মেথড যা খুবই জনপ্রিয়, সেগুলি হল: abs(), max(), min(), pow(), এবং sqrt()।
এই মেথডগুলো Math ক্লাসের অন্তর্গত, যা java.lang প্যাকেজে পাওয়া যায়। চলুন এগুলোর সম্পর্কে বিস্তারিত জানি:
1. abs() মেথড (Absolute Value)
- Purpose: এটি একটি সংখ্যা প্রদান করে তার পরম মান (absolute value)।
- Usage: এই মেথডটি একাধিক ধরণের ইনপুট গ্রহণ করতে পারে, যেমন
int,long,float, এবংdouble। Syntax:
public static int abs(int a) public static long abs(long a) public static float abs(float a) public static double abs(double a)- Description: এই মেথডটি প্রদত্ত সংখ্যার পরম মান প্রদান করে, অর্থাৎ যদি ইনপুট নেগেটিভ হয় তবে তার ইতিবাচক মান প্রদান করবে।
Example:
public class MathExample {
public static void main(String[] args) {
System.out.println(Math.abs(-10)); // Output: 10
System.out.println(Math.abs(-10.5)); // Output: 10.5
}
}
2. max() মেথড (Maximum Value)
- Purpose: এটি দুটি সংখ্যার মধ্যে বড় সংখ্যাটি রিটার্ন করে।
- Usage:
max()মেথডটি int, long, float, এবং double টাইপের ইনপুট নেয় এবং একটি টাইপের রিটার্ন প্রদান করে। Syntax:
public static int max(int a, int b) public static long max(long a, long b) public static float max(float a, float b) public static double max(double a, double b)- Description: এটি দুটি সংখ্যা (বা দুটি ইনপুট মান) নিয়ে বড়টি ফিরিয়ে দেয়।
Example:
public class MathExample {
public static void main(String[] args) {
System.out.println(Math.max(10, 20)); // Output: 20
System.out.println(Math.max(5.5, 7.5)); // Output: 7.5
}
}
3. min() মেথড (Minimum Value)
- Purpose: এটি দুটি সংখ্যার মধ্যে ছোট সংখ্যাটি রিটার্ন করে।
- Usage:
min()মেথডটি int, long, float, এবং double টাইপের ইনপুট নেয় এবং একটি টাইপের রিটার্ন প্রদান করে। Syntax:
public static int min(int a, int b) public static long min(long a, long b) public static float min(float a, float b) public static double min(double a, double b)- Description: এটি দুটি ইনপুটের মধ্যে ছোট মানটি রিটার্ন করে।
Example:
public class MathExample {
public static void main(String[] args) {
System.out.println(Math.min(10, 20)); // Output: 10
System.out.println(Math.min(5.5, 7.5)); // Output: 5.5
}
}
4. pow() মেথড (Power)
- Purpose: এটি একটি সংখ্যা প্রথম প্যারামিটার এবং একটি সূচক দ্বিতীয় প্যারামিটার হিসেবে গ্রহণ করে এবং প্রথম সংখ্যাটির দ্বিতীয় সংখ্যার ঘাত (power) রিটার্ন করে।
- Usage:
pow()মেথডটি দুটিdoubleটাইপের ইনপুট গ্রহণ করে এবং একটিdoubleরিটার্ন প্রদান করে। Syntax:
public static double pow(double a, double b)- Description: এটি a সংখ্যাটিকে b সংখ্যার ঘাত হিসেবে রিটার্ন করে। উদাহরণস্বরূপ,
pow(2, 3)এর মান হবে 8, কারণ 2 এর 3 তম ঘাত হল 8।
Example:
public class MathExample {
public static void main(String[] args) {
System.out.println(Math.pow(2, 3)); // Output: 8.0
System.out.println(Math.pow(5, 2)); // Output: 25.0
}
}
5. sqrt() মেথড (Square Root)
- Purpose: এটি একটি সংখ্যার বর্গমূল (square root) রিটার্ন করে।
- Usage:
sqrt()মেথডটি একটিdoubleটাইপের ইনপুট গ্রহণ করে এবং একটিdoubleরিটার্ন প্রদান করে। Syntax:
public static double sqrt(double a)- Description: এটি একটি সংখ্যার বর্গমূল প্রদান করে, অর্থাৎ যেকোনো পজিটিভ সংখ্যার জন্য এর রিটার্ন মান হবে সেই সংখ্যার বর্গমূল।
Example:
public class MathExample {
public static void main(String[] args) {
System.out.println(Math.sqrt(16)); // Output: 4.0
System.out.println(Math.sqrt(25)); // Output: 5.0
}
}
Summary:
| Method | Purpose | Return Type | Example |
|---|---|---|---|
abs() | Returns the absolute value of a number | int, long, float, double | Math.abs(-10) returns 10 |
max() | Returns the maximum of two numbers | int, long, float, double | Math.max(10, 20) returns 20 |
min() | Returns the minimum of two numbers | int, long, float, double | Math.min(10, 20) returns 10 |
pow() | Returns the value of the first number raised to the power of the second number | double | Math.pow(2, 3) returns 8.0 |
sqrt() | Returns the square root of a number | double | Math.sqrt(16) returns 4.0 |
Java.lang প্যাকেজের Math ক্লাসে থাকা এই abs(), max(), min(), pow(), এবং sqrt() মেথডগুলি সাধারণ গাণিতিক কাজের জন্য অত্যন্ত কার্যকরী। এগুলো কোডে গণনা সম্পর্কিত বিভিন্ন কাজ সহজে সম্পন্ন করতে সাহায্য করে এবং তাদের ব্যবহারের মাধ্যমে আপনাকে দ্রুত এবং সঠিক ফলাফল পেতে সাহায্য করে।
Java.lang প্যাকেজ-এ trigonometric methods যেমন sin(), cos(), এবং tan() গাণিতিক অপারেশন সরবরাহ করা হয়, যা মূলত Math ক্লাসের মাধ্যমে ব্যবহৃত হয়। এই মেথডগুলি কোণ (angle) ভিত্তিক গাণিতিক ট্রিগনোমেট্রিক হিসাব করার জন্য ব্যবহৃত হয়।
Math ক্লাসে Trigonometric মেথডসমূহ:
Math ক্লাসে নিম্নলিখিত ট্রিগনোমেট্রিক মেথডগুলি প্রদান করা হয়েছে:
Math.sin(double a):- এই মেথডটি কোণের সাইন (sin) হিসাব করে।
- এখানে a হলো কোণ যা রেডিয়ানসে (radians) দেওয়া হয়।
সিন (sin) গাণিতিক ফাংশনটির মান হল একটি কোণ (angle) থেকে একটি ভেক্টরের উল্লম্ব (vertical) উপাদান (opposite side) এবং কোণটির আপেক্ষিক হাইপোথেনিউজ (hypotenuse) এর অনুপাত।
উদাহরণ:
public class TrigonometricExample { public static void main(String[] args) { double angleInRadians = Math.toRadians(30); // 30 degrees to radians double sineValue = Math.sin(angleInRadians); System.out.println("Sine of 30 degrees: " + sineValue); // Output: 0.49999999999999994 } }Math.cos(double a):- এই মেথডটি কোণের কসাইন (cos) হিসাব করে।
- এখানে a হলো কোণ যা রেডিয়ানসে (radians) দেওয়া হয়।
কসাইন (cos) গাণিতিক ফাংশনটি মান হল একটি কোণ থেকে একটি ভেক্টরের অনুভূমিক (horizontal) উপাদান (adjacent side) এবং কোণটির আপেক্ষিক হাইপোথেনিউজ (hypotenuse) এর অনুপাত।
উদাহরণ:
public class TrigonometricExample { public static void main(String[] args) { double angleInRadians = Math.toRadians(60); // 60 degrees to radians double cosineValue = Math.cos(angleInRadians); System.out.println("Cosine of 60 degrees: " + cosineValue); // Output: 0.5 } }Math.tan(double a):- এই মেথডটি কোণের ট্যানজেন্ট (tan) হিসাব করে।
- এখানে a হলো কোণ যা রেডিয়ানসে (radians) দেওয়া হয়।
ট্যানজেন্ট (tan) গাণিতিক ফাংশনটি মান হল একটি কোণ থেকে একটি ভেক্টরের উল্লম্ব (vertical) উপাদান (opposite side) এবং অনুভূমিক (horizontal) উপাদান (adjacent side) এর অনুপাত।
উদাহরণ:
public class TrigonometricExample { public static void main(String[] args) { double angleInRadians = Math.toRadians(45); // 45 degrees to radians double tangentValue = Math.tan(angleInRadians); System.out.println("Tangent of 45 degrees: " + tangentValue); // Output: 1.0 } }
Math ক্লাসের অন্যান্য ট্রিগনোমেট্রিক মেথডসমূহ:
এছাড়া Math ক্লাসে আরও কিছু ট্রিগনোমেট্রিক মেথড রয়েছে যেমন:
Math.toRadians(double angdeg): এই মেথডটি ডিগ্রি (degrees) কে রেডিয়ানে (radians) রূপান্তরিত করে।Math.toDegrees(double angrad): এই মেথডটি রেডিয়ান (radians) কে ডিগ্রিতে (degrees) রূপান্তরিত করে।
উদাহরণ (toRadians এবং toDegrees):
public class TrigonometricExample {
public static void main(String[] args) {
// Convert degrees to radians
double radians = Math.toRadians(90); // 90 degrees to radians
System.out.println("90 degrees in radians: " + radians); // Output: 1.5708
// Convert radians to degrees
double degrees = Math.toDegrees(Math.PI / 2); // PI/2 radians to degrees
System.out.println("PI/2 radians in degrees: " + degrees); // Output: 90.0
}
}
Java তে Math ক্লাসের মাধ্যমে আপনি ট্রিগনোমেট্রিক ফাংশনগুলি যেমন sin(), cos(), এবং tan() ব্যবহার করতে পারেন। এই মেথডগুলো কোণ (angle) কে রেডিয়ানসে ইনপুট হিসেবে নেবে এবং তা থেকে সংশ্লিষ্ট গাণিতিক মান (যেমন সাইন, কসাইন, ট্যানজেন্ট) প্রদান করবে। Math ক্লাস আরও সাহায্য করে রেডিয়ান এবং ডিগ্রি-এর মধ্যে রূপান্তর করতে।
Java-তে Random ক্লাস এবং Math.random() মেথড দুটি র্যান্ডম নম্বর জেনারেট করার জন্য ব্যবহৃত হয়। তবে, তাদের ব্যবহারের মধ্যে কিছু পার্থক্য রয়েছে। এখানে এই দুটি টুলের কাজ এবং ব্যবহার সম্পর্কে বিস্তারিত আলোচনা করা হলো।
1. Random ক্লাস
Random ক্লাসটি java.util প্যাকেজের অংশ এবং এটি র্যান্ডম নম্বর জেনারেট করার জন্য ব্যবহৃত হয়। এই ক্লাসটি বিভিন্ন ধরনের র্যান্ডম মান (যেমন, ইনটিজার, ডাবল, বুলিয়ান) জেনারেট করতে সক্ষম।
Random ক্লাসের বৈশিষ্ট্য:
- এটি পseudo-random নম্বর জেনারেট করে, অর্থাৎ, একে পূর্বাভাস করা সম্ভব নয়, কিন্তু একটি নির্দিষ্ট সিড (seed) দিয়ে র্যান্ডম সিকোয়েন্স পুনরায় তৈরি করা সম্ভব।
Randomক্লাসের মাধ্যমে আপনি নির্দিষ্ট রেঞ্জের মধ্যে (যেমন 0 থেকে 100) র্যান্ডম সংখ্যা জেনারেট করতে পারেন।
Random ক্লাসের কিছু গুরুত্বপূর্ণ মেথড:
nextInt(): একটি র্যান্ডম পূর্ণসংখ্যা (integer) তৈরি করে।nextInt(n): 0 (inclusive) থেকে n (exclusive) রেঞ্জে একটি র্যান্ডম পূর্ণসংখ্যা তৈরি করে।nextDouble(): 0.0 (inclusive) থেকে 1.0 (exclusive) পর্যন্ত একটি র্যান্ডম ডাবল ভ্যালু তৈরি করে।nextBoolean(): একটি র্যান্ডম বুলিয়ান মান (true অথবা false) তৈরি করে।
Random ক্লাসের ব্যবহার:
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
Random random = new Random();
// Generate a random integer
int randomInt = random.nextInt();
System.out.println("Random Integer: " + randomInt);
// Generate a random integer between 0 and 100
int randomIntBetween0And100 = random.nextInt(101); // 0 to 100
System.out.println("Random Integer between 0 and 100: " + randomIntBetween0And100);
// Generate a random double between 0 and 1
double randomDouble = random.nextDouble();
System.out.println("Random Double between 0 and 1: " + randomDouble);
// Generate a random boolean
boolean randomBoolean = random.nextBoolean();
System.out.println("Random Boolean: " + randomBoolean);
}
}
Output:
Random Integer: 213214232
Random Integer between 0 and 100: 56
Random Double between 0 and 1: 0.783241654
Random Boolean: true
2. Math.random() মেথড
Math.random() হল একটি স্ট্যাটিক মেথড যা 0 (inclusive) এবং 1 (exclusive) এর মধ্যে একটি র্যান্ডম ডাবল ভ্যালু প্রদান করে। এটি কোনো সিড (seed) ব্যবহার করে না, এবং এটি শুধুমাত্র ডাবল মান প্রদান করে, যেটি প্রাসঙ্গিক ডোমেইনে ব্যবহারযোগ্য।
Math.random() মেথডের বৈশিষ্ট্য:
- এটি শুধুমাত্র একটি র্যান্ডম ডাবল সংখ্যা প্রদান করে, যা 0.0 (inclusive) এবং 1.0 (exclusive) এর মধ্যে থাকে।
- এটি সরল এবং দ্রুত, কিন্তু আপনি যদি আরো কাস্টমাইজড র্যান্ডম মান প্রয়োজন হয়, তবে
Randomক্লাস ব্যবহার করা ভালো।
Math.random() মেথডের ব্যবহার:
public class MathRandomExample {
public static void main(String[] args) {
// Generate a random double between 0 and 1
double randomValue = Math.random();
System.out.println("Random Value between 0 and 1: " + randomValue);
// Generate a random integer between 0 and 100
int randomInt = (int) (Math.random() * 101); // 0 to 100
System.out.println("Random Integer between 0 and 100: " + randomInt);
}
}
Output:
Random Value between 0 and 1: 0.654278956
Random Integer between 0 and 100: 42
Random ক্লাস এবং Math.random() এর মধ্যে পার্থক্য:
| বৈশিষ্ট্য | Random ক্লাস | Math.random() মেথড |
|---|---|---|
| কোথায় পাওয়া যায় | java.util.Random প্যাকেজের মধ্যে | java.lang.Math প্যাকেজের মধ্যে |
| ফাংশনালিটি | বিভিন্ন ধরনের র্যান্ডম মান (int, double, boolean) প্রদান করে | শুধুমাত্র একটি ডাবল মান প্রদান করে (0.0 থেকে 1.0) |
| সিডিং (Seeding) | সিড (seed) দিয়ে কাস্টম র্যান্ডম সিকোয়েন্স তৈরি করা যায় | স্বয়ংক্রিয়ভাবে সিড তৈরি করে |
| থ্রেড সেফ | Random ক্লাস থ্রেড সেফ নয়, কিন্তু ThreadLocalRandom ব্যবহার করা যেতে পারে | থ্রেড সেফ, তবে শুধুমাত্র ডাবল মান তৈরি করে |
| প্রয়োগ | যখন আপনি বিভিন্ন ধরনের র্যান্ডম মান (integers, doubles, booleans) চান | সহজ র্যান্ডম মান (যেমন, 0.0 এবং 1.0 এর মধ্যে) |
Randomক্লাস বেশি কাস্টমাইজড র্যান্ডম ডেটা তৈরি করতে সাহায্য করে, যেমন ইন্টিজার, ডাবল, বা বুলিয়ান মান। এটি বড় এবং জটিল প্রোগ্রামিংয়ের জন্য উপযুক্ত যেখানে বিভিন্ন ধরনের র্যান্ডম মানের প্রয়োজন হয়।Math.random()মেথড সরল এবং দ্রুত উপায়, কিন্তু এটি শুধু ডাবল মান প্রদান করে যা 0 এবং 1 এর মধ্যে থাকে। সাধারণভাবে, এটি ছোট এবং সহজ অ্যাপ্লিকেশনগুলির জন্য ব্যবহৃত হয় যেখানে আপনি র্যান্ডম ডাবল ভ্যালু চান।
Read more